package com.example.managemyself.util;

import android.content.Context;
import android.util.Log;
import com.example.managemyself.data.database.AppDatabase;

/**
 * 数据库修复工具类
 * 用于解决数据库版本冲突和其他数据库相关问题
 */
public class DatabaseFixUtil {
    private static final String TAG = "DatabaseFixUtil";
    
    /**
     * 修复数据库版本冲突问题
     * 通过清理数据库实例并重新创建来解决
     */
    public static void fixDatabaseVersionConflict(Context context) {
        try {
            Log.i(TAG, "开始修复数据库版本冲突...");
            
            // 1. 清理当前数据库实例
            AppDatabase.clearInstance();
            
            // 2. 删除数据库文件（如果需要）
            context.deleteDatabase("manage_myself_db");
            
            // 3. 重新创建数据库实例
            AppDatabase.getInstance(context);
            
            Log.i(TAG, "数据库版本冲突修复完成");
        } catch (Exception e) {
            Log.e(TAG, "修复数据库版本冲突时出错", e);
        }
    }
    
    /**
     * 检查数据库是否正常
     */
    public static boolean isDatabaseHealthy(Context context) {
        try {
            AppDatabase db = AppDatabase.getInstance(context);
            // 尝试执行一个简单的查询来检查数据库状态
            db.taskDao().getAllTasks();
            return true;
        } catch (Exception e) {
            Log.w(TAG, "数据库健康检查失败", e);
            return false;
        }
    }
} 